#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@file:shopping.py
@author:LifeTime
@date: 2018/05/05
@version:
    v1.0 2018-05-05 create
@input: 需要就写，不需要就不写
@output:需要就写，不需要就不写

### a. 字典：购物车程序
* 用户输入工资，然后打印超市商品(列表)
* 允许用户根据商品编号购买商品
* 用户选择商品后，检测余额是否够，够就直接扣款，不够就提醒
* 可随时退出，退出时，打印已购买商品和余额
* 要求：用尽可能友好的方式输出(提交代码及执行结果截图)
* 高级购物车（存文件，增删除改查）

{'xxxx': {'name':'苹果', 'price':1}, 'xxxx1': {'name':'苹果', 'price':1}, }
{'xxxx': ['苹果', 1], 'xxxx1': ['苹果', 1]}
"""
# =================
# 高级购物车（存文件，增删除改查）---偷懒做后面题目去了，暂时未添加
# 可实现 在商品购买前进行对购物车的增删改查选择
# 再根据不同功能进行细致操作

commodity = {'0110':{'name':'拌面','price':10},
             '0011':{'name':'纸巾','price':15},
             '0001':{'name':'苹果','price':20},
             '0111':{'name':'茶','price':100},
             '1000':{'name':'衣服','price':200},
             '0010':{'name':'单车','price':500},
             '0101':{'name':'手机','price':1000}
             }

#用户定义
# user ={'money':0, 'shopping':{}} 字典不能重复
user ={'money':0, 'shopping':[]}
while True:
    money = input("请输入工资金额：")
    if money.isdigit():
        break
    else:
        print("请输入正确金额格式！")
user['money'] = int(money)

#超市商品输出
print('#'*20,"超市",'#'*20)
for key in commodity.keys():
    print("商品编号：{}\t商品：{} \t价格：{}".format(key, commodity[key]['name'],commodity[key]['price']))
#print('#'*46)
print('#'*20,"购物",'#'*20)
keys = commodity.keys()



#购物
while True:
    number = input("请输入你想要购买商品的编号：")
    #判断编号存在性
    if number in keys:
        #对比剩余金额和商品价格
        if user['money'] < commodity[number]['price']:
            #如果金额不足 提示
            print("您的金额不足，当前可用金额为：",user['money'])
        else:
            user['money'] = user['money'] - commodity[number]['price']
            #user['shopping'].update({number:commodity[number]})  字典时
            user['shopping'].append({number: commodity[number]})
            print("购买成功，当前可用金额为：", user['money'])
    #用户退出
    elif number=='quit':
        print('#' * 20, "退出", '#' * 20)
        print("当前已购买：")
        for i in user['shopping']:
            #print("商品：",user['shopping'][i]['name'],"\t价格：",user['shopping'][i]['price']) 字典时
            for j in i:
                print("商品：",i[j]['name'],"商品价格：",i[j]['price'])
        print("余额：",user['money'])
        break
    else:
        print("请输入正确的商品编号！")



